#ifndef _M_MSG_H_
#define _M_MSG_H_
//⽇志消息类主要是封装⼀条完整的⽇志消息所需的内容，其中包括
//⽇志等级、对应的logger name、打印⽇志源⽂件的位置信息（包括⽂件名和⾏号）、线程ID、时间戳信息、具体的⽇志信息等内容

#include"level.hpp"
#include"util.hpp"
#include<thread>


namespace HUE
{
    struct LogMsg
    {
        time_t _ctime; //日志产生的时间戳
        LogLevel::value _level; //日志等级
        size_t _line;//行号
        std::thread::id _tid;//线程ID
        std::string _file;//源文件名
        std::string _logger;//日志器名称
        std::string _payload; //有效消息数据


        LogMsg(LogLevel::value level,
            size_t line,
            const std::string file,
            const std::string logger,
            const std::string msg)
            :_ctime(util::Date::now())
            ,_level(level)
            ,_line(line)
            ,_tid(std::this_thread::get_id())
            ,_file(file)
            ,_logger(logger)
            ,_payload(msg){}

    };

}

#endif
